﻿using Ninject.Modules;
using Soundteller.Visual.Model;
using Soundteller.Visual.Model.Interfaces;
using Soundteller.Visual.Repositories;
using Soundteller.Visual.Repositories.Interfaces;
using Soundteller.Visual.Services;
using Soundteller.Visual.Services.Interfaces;

namespace Soundteller.Visual
{
    public class VisualModule : NinjectModule
    {
        public override void Load()
        {
            Bind<IMemoryContext>().To<MemoryContext>().InSingletonScope();
            Bind<IGraphicRepository>().To<GraphicRepository>().InSingletonScope();
            Bind<IGraphicBufferRepository>().To<GraphicBufferRepository>().InSingletonScope();

            Bind<IDrawer>().To<Drawer>().InSingletonScope();
        }
    }
}